
/**
 * 时间蹉转自定义格式时间
 * by Juhe
 */
export const dateRegExp = (time, strText) => {
    let date = new Date(time)
    // 匹配strText中是否有(y+)(至少一个y)的文本
    // ? 0或1个  + 至少一个 *至少0个
    if (/(y+)/.test(strText)) {
      // RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串
      // substr(a) 从第a位开始截取 === substring(a)   substring(a,b)截取[a,b)间
      // replace(pattern,replacement) 把字符串中pattern替换成replacement 返回替换后的字符串
      // console.log(typeof (date.getFullYear())) number
      // console.log(typeof (date.getFullYear() + '')) string
      strText = strText.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    let dataType = {
      'M+': date.getMonth() + 1,
      'd+': date.getDate(),
      'h+': date.getHours(),
      'm+': date.getMinutes(),
      's+': date.getSeconds()
    }
    for (let typeKey in dataType) {
      // console.log(`/(${typeKey})/`)
      if (new RegExp(`(${typeKey})`).test(strText)) {
        let typeValue = dataType[typeKey] + ''
        // length从零开始算起的
        // console.log(RegExp.$1 + '****') MM
        // console.log(RegExp.$1.length + '***') 2
        // 判断模板的格式，若一个M就typeValue 两个MM就padLeftZero(typeValue)
        strText = strText.replace(RegExp.$1, (RegExp.$1.length === 1 ? typeValue : padLeftZero(typeValue)))
      }
    }
    return strText
}
// 数字前加 0 
export const padLeftZero = (str) => {
    // console.log(str + '....') 7
    // console.log(str.length + '...') 1
    // 若str=7 从第一位算起substr(1)  007 ==>07
    // 若str=17 从第二位算起substr(2)  0017 ==>17
    return ('00' + str).substr(str.length)
}